/**
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Universidad de los Andes (Bogotá - Colombia)
 * Departamento de Ingeniería de Sistemas y Computación
 * Proyecto SIMOV
 * @author af.valbuena84
 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 */

package webapplication1;
import java.util.ArrayList;

/**
 * Esta es la clase principal
 */
public class SIMOV
{
    // -----------------------------------------------------------------
    // Atributos
    // -----------------------------------------------------------------
    /**
     * Es la colección de vallas del sistema
     */
    private ArrayList<Valla> vallas;

    // -----------------------------------------------------------------
    // Constructor
    // -----------------------------------------------------------------
    
    public SIMOV ()
    {
        vallas = new ArrayList<Valla>();
    }

    // -----------------------------------------------------------------
    // Métodos
    // -----------------------------------------------------------------

    /**
     * Agrega una valla a la coleccion de vallas 
     * @param nIdentificador identificador de la nueva valla.
     * @param nUbicación ubicación de la nueva valla
     * @param nLatitud latitud donde se encontrara la valla.
     * @param nLongitud longitud donde se encontrara la valla
     */
    private void agregarValla(String nIdentificador, String nUbicacion, double nLatitud, double nLongitud)
    {
        if(buscarVallaIdentificador(nIdentificador) == null)
        {
            Valla aAgregar = new Valla(nIdentificador, nUbicacion, nLatitud, nLongitud);
            vallas.add(aAgregar);
        }        
    }


    /**
     * Este método sirve para buscar una valla. <br>
     * <b>post: </b> Retorno una valla dado su identificador, si esta no existe se retorna null <br>
     * @param identificador Es el identificador de la valla que se está buscando - identificador!=null
     * @return vallaEncontrada - Retorna la valla buscada. Si el identificador no pertenece a ninguna valla
     * entonces retorna null
     */
    private Valla buscarVallaIdentificador (String identificador)
    {
        Valla vallaEncontrada = null;
        boolean encontre = false;

        for( int i = 0; i < vallas.size() && !encontre; i++ )
        {
            Valla x = (Valla)vallas.get(i);
            if( x.darIdentificador().equals( identificador ) )
            {
                vallaEncontrada = x;
                encontre = true;
            }
        }
        return vallaEncontrada;
    }

    /**
     * Elimina la valla
     */
    private boolean eliminarVallaIdentificador(String identificador)
    {
        boolean encontre = false;
        for( int i = 0; i < vallas.size() && !encontre; i++ )
        {
            Valla x = (Valla)vallas.get(i);
            if( x.darIdentificador().equals( identificador ) )
            {
                vallas.remove(i);
                encontre = true;
                return encontre;
            }
        }
        return encontre;
    }

    private void agregarArcosAValla
}
